package com.action.gulimall.product.fegin;

import com.action.common.model.es.SkuEsModel;
import com.action.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
/* * @Author sl
 * 在EnableFeignClient中引入FeignClientRegesiter，在FeignClientRegesiter类中会扫描basepackages目录下的类，是否有@FeignClient注解，有注解会生成代理类
 * 在代理类中调用方法前会组装Request,然后死循环调用RibbonLoadBalanceClient执行负载均衡请求，如果失败默认会进行重试，默认重试 次数为5次，最大重试时间默认为1s,间隔重试时间为100ms
 * 超过最大重试次数或者时间会抛出异常跳出死循环
 **/
@FeignClient(value="gulimall-search")
public interface SearchFeginService {


    @PostMapping("/search/product/skuesmodel/save")
    R saveSkuModelsToEs(@RequestBody List<SkuEsModel> skuEsModels);
}
